Interactive decision services, such as but not limited to self-service kiosks and interactive voice response systems, are defined here as computer applications that involve a human user in an interactive dialog before arriving at a decision. These computer applications need to determine which question or set of questions to ask next, given a partial set of input data. Techniques for determining which question to ask next may range from very simple (for example, a predetermined sequence for a survey) to very complex (for example, when hundreds of complex business policies determine how to handle a refund request based on a number of different factors).
Currently, there are some techniques for addressing the situation. One such technique employs a decision tree like structure for the question flow, encoded in databases and/or procedural code. When this decision tree gets large or complex, a specialized tool may be used, such as FlexRiver's Flex Dynamic Questionnaire. There are rule-based techniques, which may fall into two categories:
1) Expert system shells, such as EXSYS's Corvid, which essentially use rules to build one or more decision trees (logic blocks) and use backward chaining in a depth-first or breadth-first manner to determine questions to ask.
2) Forward-chaining rule based approaches, such as Exsys Corvid's Smart Questionnaire and IBM's Dynamic Forms using WebSphere Operational Decision Management, which use explicit question generation rules. These rules may use positive logic (e.g. If answer to Q1 is A1 and question Q2 has not been answered then ask question Q2) or negative logic (e.g. if answer to question Q1 is A1, then remove Q3 from predetermined question flow).